home *** CD-ROM | disk | FTP | other *** search
- /*=====[ The TesSeRact(TM) CXL User Interface Development System ]======*
- | Copyright (c) 1987-1990, Innovative Data Concepts. All Rights Reserved
- |
- | This Library is part of IDC's TesSeRact Development Tools product
- | line. For information about other IDC products, call 1-215-884-3373.
- *----------------------------------------------------------------------*
- | <TCXLhlp.h> : Public definitions and prototypes for TCXL Help system
- | (User level).
- *----------------------------------------------------------------------*
- | PGS : $Id: tcxlhlp.h 5.51 90/10/01 00:00:00 MLM Release Locker: MLM $
- | $Log: tcxlhlp.h $
- | Revision 5.51 90/10/01 00:00:00 MLM
- | TCXL 5.51
- |
- *======================================================================*/
- #ifndef _TCXLhlp_
- # define _TCXLhlp_ 1
- # ifndef _TCXLwin_
- # include <TCXLwin.h> /* Middle level Window system */
- # endif
- #define HCTL_STK 20 /* help-stack depth */
-
- /*------------------[ Data objects and access macros ]------------------*/
-
- TYP struct Hctl HctlT, *HctlP;
- struct Hctl /*-[ Help-control object ]-------*/
- { TagT hstk[HCTL_STK]; /* 00|00 : help stack */
- ChrP hfil; /* 28|28 : help file name */
- VfvCP hopn; /* 2A|2C : open function */
- IntT hptr; /* 2C|30 : help stack pointer */
- KeyT hkey; /* 2E|32 : help hot key */
- AtrT hwat; /* 30|34 : window attribute */
- AtrT htat; /* 31|35 : text attribute */
- AtrT hsat; /* 32|36 : selection attribute */
- AtrT hbat; /* 33|37 : bar attribute */
- VposT hbeg; /* 34|38 : window start position */
- VposT hend; /* 36|3A : window end position */
- BytT hbox; /* 38|3C : window box type */
- BytT hflg; /* 39|3D : control flag bits */
- }; /* 3A|3E ]-----------------------*/
-
- GBL HctlP CDC _HlpCtl; /*- global help-control pointer ----------*/
- #define HctlStk(h,i) ((h)->hstk[i]) /* stack-element[i] */
- #define HctlFil(h) ((h)->hfil) /* filename */
- #define HctlOpn(h) ((h)->hopn) /* open-function */
- #define HctlPtr(h) ((h)->hptr) /* stack-pointer */
- #define HctlKey(h) ((h)->hkey) /* hot-key */
- #define HctlWat(h) ((h)->hwat) /* window attr */
- #define HctlTat(h) ((h)->htat) /* text attr */
- #define HctlSat(h) ((h)->hsat) /* select attr */
- #define HctlBat(h) ((h)->hbat) /* bar attr */
- #define HctlBeg(h) ((h)->hbeg) /* start pos */
- #define HctlBegW(h) (VposW(HctlBeg(h))) /* word */
- #define HctlBegR(h) (VposR(HctlBeg(h))) /* row */
- #define HctlBegC(h) (VposC(HctlBeg(h))) /* col */
- #define HctlEnd(h) ((h)->hend) /* end pos */
- #define HctlEndW(h) (VposW(HctlEnd(h))) /* word */
- #define HctlEndR(h) (VposR(HctlEnd(h))) /* row */
- #define HctlEndC(h) (VposC(HctlEnd(h))) /* col */
- #define HctlBox(h) ((h)->hbox) /* frame type */
- #define HctlFlg(h) ((h)->hflg) /* flag bits */
- #define HctlTtl(h) (0 != ((h)->hflg & 0x01)) /* display title */
-
- /*------------------------[ Function prototypes ]-----------------------*/
-
- #ifdef __cplusplus /* no mangling, please */
- extern "C" {
- #endif
- IntT CTYP HlpAdd(TagT ht); /* Push current, then set tag-id */
- IntT CTYP HlpClr(NOARG); /* Clear help-stack */
- IntT HlpCur(NOARG); /* Push current help tag-id */
- IntT CTYP HlpDef(ChrP fn, WrdT ky, /* Define help hot-key, file, */
- IntT wa, IntT ta, IntT sa, IntT ba, /* colors, open-function */
- VfvCP fo);
- IntT CTYP HlpDrop(NOARG); /* Drop current category */
- IntT CTYP HlpOff(NOARG); /* Undefine help */
- IntT CTYP HlpPop(NOARG); /* Pop help stack */
- IntT CTYP HlpPush(TagT ct); /* Push help tag-id */
- IntT CTYP HlpSet(TagT ct); /* Set help category by tag-id */
- VOID CTYP HlpShow(NOARG); /* Display help window */
- IntT CTYP HlpWind(IntT sr, IntT sc, /* Define help window */
- IntT er, IntT ec, IntT bt, IntT ti);
- #define HlpCur() (HlpPush(WctlHlp))
- #ifdef __cplusplus
- }
- #endif
- #endif /* _TCXLhlp_ -- End of TCXLhlp.h */